package br.com.lazyprogrammer.worldsoccermanager.network.model;

public class Player {
	
	public enum Position {
		Goalkeeper,
		Defender,
		Middefender,
		Midfield,
		Midadvanced,
		Advanced;
	}

	private int age, contractValue;
	private String id, name, nickname;
	
	private Attribute attrAntecipation;
	private Attribute attrConcentration;
	private Attribute attrCreativity;
	private Attribute attrFinishing;
	private Attribute attrHandling;
	private Attribute attrHappiness;
	private Attribute attrHeading;
	private Attribute attrLoyalty;
	private Attribute attrMarking;
	private Attribute attrPassing;
	private Attribute attrPositioning;
	private Attribute attrReflexe;
	private Attribute attrStrength;
	private Attribute attrTackling;
	private Attribute attrTechnique;
	
	private Position position;
	private Team team;
	
	public Player(String id) {
		this.id	= id;
	}
	
	public int getAge() {
		return age;
	}
	
	public Attribute getAttributeAntecipation() {
		return attrAntecipation;
	}
	
	public Attribute getAttributeConcentration() {
		return attrConcentration;
	}
	
	public Attribute getAttributeCreativity() {
		return attrCreativity;
	}
	
	public Attribute getAttributeFinishing() {
		return attrFinishing;
	}
	
	public Attribute getAttributeHandling() {
		return attrHandling;
	}
	
	public Attribute getAttributeHappiness() {
		return attrHappiness;
	}
	
	public Attribute getAttributeHeading() {
		return attrHeading;
	}
	
	public Attribute getAttributeLoyalty() {
		return attrLoyalty;
	}
	
	public Attribute getAttributeMarking() {
		return attrMarking;
	}
	
	public Attribute getAttributePassing() {
		return attrPassing;
	}
	
	public Attribute getAttributePositioning() {
		return attrPositioning;
	}
	
	public Attribute getAttributeReflexe() {
		return attrReflexe;
	}
	
	public Attribute getAttributeStrength() {
		return attrStrength;
	}
	
	public Attribute getAttributeTackling() {
		return attrTackling;
	}
	
	public Attribute getAttributeTechnique() {
		return attrTechnique;
	}
	
	public int getContractValue() {
		return contractValue;
	}
	
	public String getId() {
		return id;
	}
	
	public String getName() {
		return name;
	}
	
	public String getNickname() {
		return nickname;
	}
	
	public Position getPosition() {
		return position;
	}
	
	public Team getTeam() {
		return team;
	}
	
	public void setAge(int age) {
		this.age	= age;
	}
	
	public void setAttributeAntecipation(int value, int xp) {
		attrAntecipation	= new Attribute(value, xp);
	}
	
	public void setAttributeConcentration(int value, int xp) {
		attrConcentration	= new Attribute(value, xp);
	}
	
	public void setAttributeCreativity(int value, int xp) {
		attrCreativity	= new Attribute(value, xp);
	}
	
	public void setAttributeFinishing(int value, int xp) {
		attrFinishing	= new Attribute(value, xp);
	}
	
	public void setAttributeHandling(int value, int xp) {
		attrHandling	= new Attribute(value, xp);
	}
	
	public void setAttributeHappiness(int value, int xp) {
		attrHappiness	= new Attribute(value, xp);
	}
	
	public void setAttributeHeading(int value, int xp) {
		attrHeading	= new Attribute(value, xp);
	}
	
	public void setAttributeLoyalty(int value, int xp) {
		attrLoyalty	= new Attribute(value, xp);
	}
	
	public void setAttributeMarking(int value, int xp) {
		attrMarking	= new Attribute(value, xp);
	}
	
	public void setAttributePassing(int value, int xp) {
		attrPassing	= new Attribute(value, xp);
	}
	
	public void setAttributePositioning(int value, int xp) {
		attrPositioning	= new Attribute(value, xp);
	}
	
	public void setAttributeReflexe(int value, int xp) {
		attrReflexe	= new Attribute(value, xp);
	}
	
	public void setAttributeStrength(int value, int xp) {
		attrStrength	= new Attribute(value, xp);
	}
	
	public void setAttributeTackling(int value, int xp) {
		attrTackling	= new Attribute(value, xp);
	}
	
	public void setAttributeTechnique(int value, int xp) {
		attrTechnique	= new Attribute(value, xp);
	}
	
	public void setContractValue(int contractValue) {
		this.contractValue	= contractValue;
	}
	
	public void setName(String name) {
		this.name	= name;
	}
	
	public void setNickname(String nickname) {
		this.nickname	= nickname;
	}
	
	public void setPosition(int position) {
		this.position	= Position.values()[position];
	}
	
	public void setTeam(Team team) {
		this.team	= team;
	}

}
